package 字符串;

/**
 * @author ssh
 * @date 2025/9/2
 * @description 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k，请编写一个函数，将字符串中的后面 k 个字符移到字符串的前面，实现字符串的右旋转操作。
 *
 * 例如，对于输入字符串 "abcdefg" 和整数 2，函数应该将其转换为 "fgabcde"。
 */
public class 右旋转字符串 {
    //暴力解，使用一个新字符串
    public String reverseLeftWords(String s, int n) {
        int len=s.length();
        n=n%len;
        StringBuilder sb=new StringBuilder();
        for (int i=len-n;i<len;i++){
            sb.append(s.charAt(i));
        }
        for (int i=0;i<len-n;i++){
            sb.append(s.charAt(i));
        }
        return sb.toString();
    }

    public static void main(String[] args) {
        // 测试代码
        String s = "abcdefg";
        int k = 2;
        右旋转字符串 solution = new 右旋转字符串();
        String result = solution.reverseLeftWords(s, k);
        System.out.println(result); // 输出: "fgabcde"
    }
}
